Content delivery networks are large distributed networks found across the internet which serve content to end-users, guaranteeing high availability and performance. Content delivery networks may be used to supply one or more media content, downloadable data and network applications. Media content may be static or may be streamed and may comprise items such as text, graphics, audio and video content. Downloadable data may comprise software and document downloads or data from large network-hosted datasets. When implementing network services such as content delivery networks, communication service providers face a number of challenges. A first challenge is the number of different proprietary solutions used to implement modern communication networks. This results in an inflexibility that needs to be balanced with an ability to cope with ever increasing network traffic and demand. A second challenge is lack of scalability and the time that is required to enhance network features. For example, over a large distributed network modifications can take months or years to implement.